<?php
/**
 * ErrorHook
 * 
 * @author Alexey Strelnikoff <zog@zoggi.net>
 */

namespace Zoggi\ErrorHook;

/**
 * Интерфейс нотификаторов.
 * 
 * Нотификаторы вызываются из ErrorCatcher. 
 * При возникновении ошибки вызывается метод notifyOne, обрабатывающий поведение 
 * одной ошибки.
 * В конце работы скрипта вызывается метод notifyAll, для обработки сразу 
 * всех ошибок.
 * 
 * Такое разделение удобно, если мы хотим логировать каждую ошибку в момент её 
 * воникновения. А в конце работы скрипта, отправлять одно письмо со 
 * всеми ошибками.
 */
interface NotifierInterface {

	/**
	 * Создаёт нотификацию об ошибке $error
	 * 
	 * @param ErrorUnit $error Ошибка
	 */
	function notifyOne( ErrorUnit $error );

	/**
	 * Создаёт одну нотификацию сразу для всех ошибок
	 * 
	 * @param array $errors Массив ошибок
	 */
	function notifyAll( array $errors );
}